package com.company.design.construct.proxy;

/**
 * @author yingfing
 * @create 2020--09--26 9:42
 * @describe 代理模式
 */
public class Test {
    /**
     * 代理模式 : 就是多一个代理类出来,替原对象进行一些操作
     * 举例 : 我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法
     */
    public static void main(String[] args) {
        Proxy source = new Proxy();
        source.method01();
    }
}
/**
 * 总结(应用场景) :
 * 如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种方法:
 * 1. 修改原有的方法来适应.但违反了开闭原则
 * 2. 就是采用一个代理类调用原来的方法,且对产生的后果进行控制,这就是代理模式
 * 3. 代理模式,可以将功能划分的更清晰,有助于后期维护
 */